package gacl.javaweb12.session;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * @author zcx
 *
 * 2017年4月17日 下午4:46:28
 * 
 * 备注：1、第一次访问时，服务器会创建一个新的session，并且把session的id 以cookie的形式发送给客户端浏览器
 * 		2、点击刷新按钮，再次请求服务器，此时就可以看到浏览器在请求服务器时，会把存储到cookie中的sessionId一起传递到服务器端
 */
@WebServlet("/session01")
public class Session01 extends HttpServlet{

	private static final long serialVersionUID = 1L;
	
	public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{
		response.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		//使用request对象的getSession()获取session，如果sexxion不存在则创建一个
		HttpSession session = request.getSession();
		//将数据存储到session中
		session.setAttribute("data", "天涯孤旅");
		//获取session的Id
		String sessionId = session.getId();
		//判断session是不是新创建的
		if(session.isNew()){
			response.getWriter().print("session创建成功，session的id是：" + sessionId);
		}else {
			response.getWriter().print("服务器已经存在该session了，session的id是：" + sessionId);
		}
		
	}
	
	public void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{
		this.doGet(request, response);
	}
}
